package models

// 聊天好友
type ChatFriends struct {
	ModelBase
	UserId   int64 `gorm:"not null" json:"userId" form:"userId"`      // 用户id
	FriendId int64 `gorm:"not null" json:"friendId" form:"friendId"`  // 好友id
	Status   int   `gorm:"type:int(11);" json:"status" form:"status"` // 状态, 1 好友，2拉黑
}

func (ChatFriends) TableName() string {
	return "chat_friends"
}

// 聊天好友申请表
type ChatFriendsRequest struct {
	ModelBase
	SenderUserId   int64  `gorm:"not null" json:"senderUserId" form:"senderUserId"`     // 发送用户id
	ReceiverUserId int64  `gorm:"not null" json:"receiverUserId" form:"receiverUserId"` // 接收用户id
	Status         int    `gorm:"type:int(11);" json:"status" form:"status"`            // 状态 // 'sent', 'accepted', 'rejected', 'canceled'
	Message        string `gorm:"size:255" json:"message" form:"message"`               // 消息
}

func (ChatFriendsRequest) TableName() string {
	return "chat_friends_request"
}

// 聊天消息
type ChatFriendsMessages struct {
	ModelBase
	SenderUserId   int    `gorm:"not null" json:"senderUserId" form:"senderUserId"`     // 发送用户id
	ReceiverUserId int    `gorm:"not null" json:"receiverUserId" form:"receiverUserId"` // 接收用户id
	Types          int    `gorm:"not null; default:0" json:"types" form:"types"`        // 用户类型（0：文字、1：图片）
	Content        string `gorm:"type:text" json:"roles" form:"roles"`                  // 内容
	ImageUrl       string `gorm:"size:255" json:"image_url" form:"image_url"`           // 图片URL
	IsRead         bool   `gorm:"not null" json:"isRead" form:"isRead"`                 // 是否已读
}

func (ChatFriendsMessages) TableName() string {
	return "chat_friends_messages"
}
